package com.yidu.service;

import java.util.List;
import java.util.Map;

import com.yidu.action.vo.ListenModuleManageVo;
import com.yidu.domain.ListenModuleManage;

/**
 * 
 * 类注释:模块管理服务类
 * @author wpy
 * 2018年11月27日上午11:40:37
 */
public interface ListenModuleManageService{

	/**
	 * 根据模块id删除当前模块信息
	 * @param mmId 模块id
	 * @return
	 */
	public int deleteModuleManage(String mmId);
	
	 /**
     * 根据已有的模块管理对象信息增加
     * @param mm 模块对象
     * @return
     */
    public int insertSelective(ListenModuleManage mm);
	
	/**
	 * 查询所有模块
	 * @param map 集合
	 * @return
	 */
	public List<ListenModuleManage> selectModuleManage(Map<String, Object> map);
	
	/**
	 * 查询总行数
	 * @param map 集合
	 * @return
	 */
	public int selectCount(Map<String, Object> map);
	
	/**
	 * 修改已有的模块数据
	 * @param moduleManage 模块对象
	 * @return
	 */
	public int updateByPrimaryKeySelective(ListenModuleManage moduleManage);
	
	 /**
     * 根据模块id查询模块模块信息
     * @param mmId 模块id
     * @return
     */
	public ListenModuleManageVo selectByPrimaryKey(String mmId);
    
    /**
	 * 查询没有上级的模块数据
	 * @return
	 */
	public List<ListenModuleManageVo> selectNoSuperior();
	
	/**
	 * 查询传过来的上级模块的下级模块数据
	 * @param lisMmId 上级模块id
	 * @return
	 */
	List<ListenModuleManageVo> selectSubordinate(String lisMmId);
	
	/**
	 * 根据用户id查询模块
	 * @param buId 用户id
	 * @return
	 */
	List<ListenModuleManage> selectUserModuleManage(String buId);
}
